The present disclosure generally relates to memory allocation within computing environments, and more particularly relates to a restorable memory allocator.
User-level programs are generally allocated memory from a dynamic memory pool referred to as a heap. As a program is allocated memory, the user-level memory allocator stores allocation metadata within the heap. This metadata describes the allocation status of the heap such as the free and unavailable memory. When the program terminates, the heap is reset and the allocation metadata is usually lost. Therefore, the allocation status of a heap is generally not restorable.